Video games are a popular form of entertainment. Multi-player games, where two or more individuals play simultaneously in a common simulated environment, are becoming increasingly common, especially as more users are able to interact with one another using networks such as the World Wide Web (WWW), which is also referred to as the Internet. Single-player games also may be implemented in a networked environment. Implementing video games in a networked environment poses challenges with regard to audio playback.
In some video games implemented in a networked environment, a transient sound effect may be implemented by temporarily replacing background sound. Background sound, such as music, may be present during a plurality of frames of video over an extended time period. Transient sound effects may be present during one or more frames of video, but over a smaller time interval than the background sound. Through a process known as audio stitching, the background sound is not played when a transient sound effect is available. In general, audio stitching is a process of generating sequences of audio frames that were previously encoded off-line. A sequence of audio frames generated by audio stitching does not necessarily form a continuous stream of the same content. For example, a frame containing background sound can be followed immediately by a frame containing a sound effect. To smooth a transition from the transient sound effect back to the background sound, the background sound may be attenuated and the volume slowly increased over several frames of video during the transition. However, interruption of the background sound still is noticeable to users.
Accordingly, it is desirable to allow for simultaneous playback of sound effects and background sound, such that sound effects are played without interruption to the background sound. The sound effects and background sound may correspond to multiple pulse-code modulated (PCM) bitstreams. In a standard audio processing system, multiple PCM bitstreams may be mixed together and then encoded in a format such as the MPEG-1 Layer II format in real time. However, limitations on computational power may make this approach impractical when implementing multiple video games in a networked environment.
There is a need, therefore, for a system and method of merging audio data from multiple sources without performing real-time mixing of PCM bitstreams and real-time encoding of the resulting bitstream to compressed audio.